home *** CD-ROM | disk | FTP | other *** search
- Program circle;
-
- var
- x, y, r, c : integer;
-
- (* procedure to produce a circle on the screen from PC World May 1986
- page 350 by Dan Leska of Nichols, NY. *)
-
- Procedure circle(xorigin,yorigin,radius,color : integer);
-
- var
- incrmnt, xequat : real;
-
- begin
- incrmnt := radius + 0.25;
- repeat
- incrmnt := incrmnt - 0.25;
- xequat := sqrt(sqr(radius) - sqr(incrmnt));
- plot (round(xorigin + xequat), round(yorigin + incrmnt), color);
- plot (round(xorigin - xequat), round(yorigin - incrmnt), color);
- plot (round(xorigin + xequat), round(yorigin - incrmnt), color);
- plot (round(xorigin - xequat), round(yorigin + incrmnt), color);
- until (incrmnt = 0);;
- draw (xorigin - round(radius * 0.12), yorigin + radius,
- xorigin + round(radius * 0.15), yorigin + radius, color);
- draw (xorigin - round(radius * 0.12), yorigin - radius,
- xorigin + round(radius * 0.15), yorigin - radius, color);
-
- end; { procedure circle(xorigin,yorigin,radius,color : integer); }
-
- {demonstration program begins here}
-
- begin
- x := 160;
- y := 100;
- r := 50;
- c := 6;
- GraphMode;
- circle (x,y,r,c);
- while not keypressed do;
- TextMode(C80);
- TextColor(green);
- end. {circle}